Sapphire Release Notes
Release notes for Sapphire include:
- Technical requirements
- New Features
- Improvements
- Issues Resolved
Release Date: 24 July 2024
Requirements
Note: Sapphire is now only available as part of a bundled EMu 9 (or later) installation or upgrade: it is no longer installed or upgraded alongside versions of EMu older than EMu 9.0. Full details about minimum system requirements are provided with the EMu 9(+) installation and upgrade notes available here.
The Axiell EMu Ideas Portal allows you to view and submit ideas to a pool of ideas for future Sapphire development, vote for ideas, or ask us development questions:
The Sapphire 9.1 release includes a range of technology updates and upgrades:
- PHP version 8.2.8 is now supported.
- JQuery has been upgraded to version 3.7.0, and the JQueryUI library has been upgraded to version 1.13.2, bringing improvements, bug fixes, and additional functionality to enhance user interfaces and interactions.
- The OpenLayers library has been updated to version 7.5.0. OpenLayers is a mapping library used to create interactive maps and geospatial applications.
- The Tweenmax animation library has been replaced with GSAP (GreenSock Animation Platform) version 3.12.2. GSAP provides robust animation capabilities for creating smooth and engaging user experiences.
- HTTPS is now enabled with Sapphire.
Note: HTTP is still the default and a configuration setting needs to be changed to enable HTTPS.
It is now possible to include a field in a Form to capture a location using the what3words geocode system. what3words is a proprietary geocode system designed to identify any location with a resolution of about three metres. The system encodes geographic coordinates (your device's latitude / longitude position) into three permanently fixed words. For example, the front door of 10 Downing Street in London is identified by slurs.this.shark1.
When included on a Form, the user is presented with a read-only field with a Refresh button used to Generate what3words:
When the user selects the button, the precise geographic coordinates of the user's device are converted to three permanently fixed words:
Conceivable uses of the what3words geocode system include encoding geographic coordinates when out in the field collecting samples or perhaps recording the physical location of an item when performing a stocktake.
Details about configuring a what3words field are available here.
Note: An api key is required to generate what3words encoded data. If this functionality is required, clients can obtain a key directly from what3words or request that Axiell generates a free key. Note that the free and paid keys provide different features, and the free key has a limit of 100 uses per month. The Axiell project delivery team will need to set the api key (what3words-key
) in the config PHP file (config/local.php
).
Search functionality in Sapphire is typically used to locate one or more records in order to modify the data. With the introduction of a new Query page element, it is now possible to perform a search with the purpose of generating a result set (all the objects at a particular location, for instance), and to save the results to PDF.
When used, the Query page element is the only element on a Form (it cannot be combined with any others):
A Query page element is configured to search one or more fields in a specific module. The Programme Lead determines the maximum number of results to list, and what data is listed (data from one or more fields). Details about the purpose of the Query page and the maximum number of results that can be listed can be made available from the Information icon in the Title bar:
Users enter a search term (or no search term to return all records) and select Go (or press ENTER); the number of records found is indicated and results are listed below the search box:
Records cannot be edited; instead users are able to save the results to PDF by selecting . Depending on the browser's configuration:
- a file, named using the Query Form's title, will be downloaded to the device's Downloads folder; or
- the user will have the option to name the file and save it to any location.
Details about defining a Query page element can be found here.
A feature introduced with the new Query page element described above is the option to sort records returned by a search (when using the Query page element or the search and edit option).
The Search section in the Form designer now includes an Add sort column option that enables Programme Leads to add one or more fields used to sort the result set alphabetically or numerically.
By default, fields are sorted A-Z, 0-9. To reverse the order, precede the field name with a minus sign, e.g. -NamLast.
The Statistics element provides authorized users (Managers) with graphs (bar and pie) presenting any sort of statistical data (the progress of a project, the condition of objects, etc.). A graph can be pointed at any column in any module, and it is possible to filter the data before it is presented.
If the filter column is a date field (it has a date data type), it is now possible to enter a date or to select a value from a drop list of date values (today, this year, etc.), making the filter dynamic, relative to the current date:
Values are:
- today
- yesterday
- this month
- last month
- this year
- last year
- this week
- last week
Date range queries are now also possible using the following operators: >
, >=
, <
, <=
Only single dates in a value box are currently supported, e.g.:
>2015
<=01/01/2021
- >last year
and a value such as >2010 <2015
will not work; however, two separate filters can be specified to achieve the same result:
Date validation has also been added. Valid date formats are dd/mm/yyyy, mm/yyyy and yyyy and an error message will display if non valid date values are entered (on saving the Statistics element).
Details about configuring a Statistics element can be found here.
A Sapphire Form can include an Image control that displays one or more images attached to the current record The record currently displayed in Details View or highlighted in List View (there is a faint dotted line around it). It is only possible to have one current record at a time..
With the update to Sapphire’s OpenLayers library, the Image control icons and functionality have been overhauled. New functionality includes a free-hand drawing / annotation tool. Details here.
When more than one image displays in an Image control, the Image control functions as a (static) carousel, making it possible to cycle through the images:
The current image occupies most of the carousel area. Below that is a row holding a thumbnail of all images loaded in the Form, with the thumbnail of the current image highlighted by a grey border.
Several methods are available for moving through the images:
- Click the arrows to the side of the current image to move to the next / previous image.
- Click a thumbnail to make it the current image.
- Click the on the right side of the Image control to list the file name of all added images and click a file name to make it the current image.
This default behaviour can be disabled by suitably authorized users by setting IMu.Config.enableImageCarousel
to false
in the config PHP file (config
/local.php
).
A new installation of Sapphire includes a demo project with a range of sample Forms and Tools designed to manage Condition Updates, Image Capture, Location Updates and Stocktake. Note that these sample Forms were configured for the EMu museum
system and may not work out-of-the box in all environments. Although it may be possible for users to use these Forms and Tools, it is envisaged that their primary value will be for Programme Leads, who can examine how they have been configured.
The first three Tools are self-explanatory. With the Stocktake Tool it is possible to search for a location and then scan all objects found in that location. In the Catalogue record for each scanned object the Stocktake Date and Stocktake By fields are updated on the Status tab. If an object’s current location differs from the location in which it is found, the object is flagged as being in the wrong place. If an object should be in the location specified on the Form and it was not scanned, it is flagged as missing. Both these exceptions can then be followed up manually.
When including a Search section on a Form, or adding a Query page, it is now possible to point the search field at a Lookup list, Condition Status for example, providing a drop list of possible search values:
If the field searched for the search value (aka the search column) and the field holding the values in the Lookup list are the same, this effectively restricts the search to those values. If they are not the same (the search column is Summary Data and the Lookup list is Condition Status for example), the drop list only provides suggested search terms.
More details:
The following improvements have been made to Sapphire with the 9.1 release:
- Save / Reset Warning: when leaving a Designer page (Forms, Editors, Statistics, or Queries), a warning is only triggered now if changes have not been saved.
- Improved text field navigation: pressing Enter while a text field has focus now moves the cursor to the next text field, streamlining data entry and navigation within forms.
- Multimedia Upload progress bar: a progress bar now displays when uploading multimedia files to the database, providing visual feedback about the upload process.
- Buttons that add new elements (such as adding a field) now automatically focus on the newly created element.
- When adding new rows to a field it was possible for the new row to be added in an incorrect position. The new row is now added in the correct position.
- After adding rows to a field and then selecting one for deleting it was possible that the incorrect row was removed. The correct row is now removed.
- When a multimedia Form had an Image control, saving the Form data resulted in two multimedia records being created, one with the data and one with the image. The data and image are now saved as a single record.
Release Date: 04 February 2022
Sapphire 1.5.2 relabelled Sapphire 9.0
May 2023 saw the release of EMu version 9.0, the first version to bundle our Collections Management System with a suite of tools that were previously add-ons licensed separately to EMu. The bundle consists of:
- Go: a web based client interface to EMu.
- IMu: a web browser search facility used to explore the collection.
- RestAPI: a REST API server providing access to the collection.
- Sapphire: a web based rapid data entry tool supporting simple task definitions.
- Server: the traditional EMu back-end server.
In order to align Sapphire with EMu going forward, Sapphire 1.5.2 was relabelled Sapphire 9.0; it is the official version of Sapphire bundled with EMu 9.0.
Requirements
- EMu 6.5-2109202 or later
- Texpress 9.0.01 or later
- TexAPI 6.0.012 or later
- Perl 5.8.8 or later (excluding 5.10.0)
Note: When upgrading to this version of Sapphire, EMu version 6.5-220204 or later must be installed. Failing to have the minimum EMu version installed will result in some Sapphire functions not operating correctly.
The Axiell EMu Ideas Portal allows you to view and submit ideas to a pool of ideas for future Sapphire development, vote for ideas, or ask us development questions:
Ability to stipulate whether to add to or overwrite nested table data
When a nested table is specified twice on a form, Sapphire notifies the user that this has occurred and that the form should be checked:
This may be legitimately done as a means of displaying readonly data at the top of the form and allowing new data to be added below. Any data in the second nested table field is combined with the data from the first nested table field to give the final saved data for the nested table. This processing means that data was always added to the nested table. On occasions it is desirable that data from the second field overwrites the first. To facilitate this a new popup is shown after the first one to allow the user to specify the way that the form should save the data:
-
The total time taken for a search is determined by three components: the search, any defined sort, and the time to build the results list for display. A search may timeout during any of these phases, which could result in Sapphire throwing an error when the next search is performed. To reduce the likelihood of this occurring, the maximum number of records returned using a search has been limited to 10,000:
-
When multiple nested tables were used twice on a form, the order in which new data was added to the nested tables was inconsistent. All data is now consistently added to the end of the nested table.
- On occasion it was possible to enter data into a Sapphire field and a trailing period (dot) would be removed. The period is no longer removed.
- When displaying images where all generated resolutions were less than the image control width, the image thumbnail would display. The largest available resolution now display.
Upgrade Notes
See Upgrade 1.5.1 to 1.5.2 for details.
Release Date: 22 September 2021
Requirements
- EMu 6.5-2109202 or later
- Texpress 9.0.01 or later
- TexAPI 6.0.012 or later
- Perl 5.8.8 or later (excluding 5.10.0)
Note: When upgrading to this version of Sapphire, EMu version 6.5-210922 or later must be installed. Failing to have the minimum EMu version installed will result in some Sapphire functions not operating correctly.
The Axiell EMu Ideas Portal allows you to view and submit ideas to a pool of ideas for future Sapphire development, vote for ideas, or ask us development questions:
Ability to stipulate barcode field
The supplied Sapphire scripts for use with a form use hard coded column names to match records. As the hard coded column names may not suit all institutions, a Registry entry has been added to allow institutions to configure their own preferred column names. This entry has the following format:
Group|Default|Table|table|Barcode Column|script|column name
where table specifies the module to apply the setting for, script is the name of the script included on the form and column name is the name of the column to use for matching.
The following entry specifies that when running the sightbarcode script from a form, the input locationvalue should use the LocBarcode field to find the matching location:
Group|Default|Table|elocations|Barcode Column|sightobject|LocBarcode
- A new timeout setting is available for attachment searching. This setting allows for a maximum search time to be specified for matching an attachment record. With average typing speed, a setting of one second is deemed a reasonable limit and this is set as the default:
- Previously it was not possible to distinguish records created / updated through the use of Sapphire forms. All Sapphire form changes now have
sapphire
recorded in the Info field of the corresponding audit record. - Some attachment queries were extremely slow to match records where the typed letters exactly matched a term on the record. These terms now match records quickly.
- When adding an image to a form for the Multimedia module, two multimedia records were inserted, one with the multimedia information and one with the image. The information and image are now correctly stored in a single record.
- When a date field was near an image field, it was possible for part of the date picker to be hidden. The date picker now displays correctly, allowing all values to be selected.
- It was possible to create two forms with the same name, resulting in one seeming to disappear. Forms can no longer have the same name.
- On occasion a module cannot be edited error was displayed when trying to add a group. This error no longer display and the group is added correctly.
- It was possible for a field that was hidden on a form to appear if the associated column permissions in EMu were changed so that the column became readonly. The field now correctly remains hidden.
- It was possible for a field to appear as readonly on a form used for inserting records even if the user had insert permission. The field is now displayed correctly as editable.
- On occasion a sort error could be displayed when a search had no defined sort columns. An error is no longer shown and the search results are now correctly displayed.
- With a small number of EMu server versions, an error could be shown when attempting to re-save a record. This error is no longer shown with the latest EMu server version and the record correctly saves.
Upgrade Notes
See Upgrade 1.5.0 to 1.5.1 for details.
EMu 5.1 (1710021) is the minimum version of EMu that runs with Sapphire 1.2.0.
Sapphire is designed to operate in browsers which support a subset of HTML5. This includes:
- Desktop environments running fairly recent versions of most major browsers:
- Internet Explorer version 10 or above
- Firefox version 4 or above
- Chrome version 13 or above
- Safari version 6 or above
- iOS devices running iOS 6 or above
- Android devices running:
- Android browser version 4.4 or above
- Chrome version 36 or above
- Firefox version 31 or above
Note: The Sapphire tools will often operate successfully with earlier versions of these browsers. However, testing has shown that not all functionality is available in these browsers. For example, while many Forms will operate in Internet Explorer 9, this version of IE does not support the HTML5 function that enables a user to select files when attaching images.
- Restyled skin to match Axiell's branding.
- Updated button labels to eliminate confusing / misleading text.
- New warnings / prompts before continuing certain actions.
- Redesigned page layout providing better access to commonly used features.
- Responsive Form layout: multi-column forms respond when viewed on narrow screens.
- User group selection at login.
- Improved UI.
- New Form control enabling upload of all multimedia types.
- Improved multi-value controls: rows can be added / removed from anywhere in a multi-value field.
- Drop-in background: Sapphire can be re-branded by dropping in an image to use as background.
- Form data would be refreshed automatically after an error while saving.
- Button icons rendering strangely after recent Chrome update.
- Incompatible date format configurations between UI and Server causes display / save errors.
- Date-picker and Image controls clash.
- In some time zones date values are stored as previous day.
- Firefox displays inconsistent fonts in Form.
- Form designer description input field overlaps other input fields in Firefox.
- Ref Table / Column configuration fields in Form designer do not clear after changing field type from
attachment
. - Image control stores images in wrong order.
- Tabbing between fields does not occur sequentially.
- Form designer does not auto hide line configuration.
- Forms appear blank if custom layer added and then removed.
- Image control buttons not responding on mobile devices.
- Form designer auto suggests fat client only columns - fixed in EMu 6.2 (2004241).
- Form search result count displays n + 1 results - fixed in EMu 6.2 (2004031).